/*! Video.js v4.5.1 Copyright 2014 Brightcove, Inc. https://github.com/videojs/video.js/blob/master/LICENSE */
(function () {
    var b = void 0, f = !0, h = null, l = !1;

    function m() {
        return function () {
        }
    }

    function p(a) {
        return function () {
            return this[a]
        }
    }

    function q(a) {
        return function () {
            return a
        }
    }

    var t;
    document.createElement("video");
    document.createElement("audio");
    document.createElement("track");
    function u(a, c, d) {
        if ("string" === typeof a) {
            0 === a.indexOf("#") && (a = a.slice(1));
            if (u.va[a])return u.va[a];
            a = u.u(a)
        }
        if (!a || !a.nodeName)throw new TypeError("The element or ID supplied is not valid. (videojs)");
        return a.player || new u.Player(a, c, d)
    }

    var videojs = u;
    window.Wd = window.Xd = u;
    u.Rb = "4.5";
    u.Fc = "https:" == document.location.protocol ? "https://" : "http://";
    u.options = {
        techOrder: ["html5", "flash"],
        html5: {},
        flash: {},
        width: 300,
        height: 150,
        defaultVolume: 0,
        children: {
            mediaLoader: {},
            posterImage: {},
            textTrackDisplay: {},
            loadingSpinner: {},
            bigPlayButton: {},
            controlBar: {}
        },
        notSupportedMessage: 'Sorry, no compatible source and playback technology were found for this video. Try using another browser like <a href="http://bit.ly/ccMUEC">Chrome</a> or download the latest <a href="http://adobe.ly/mwfN1">Adobe Flash Player</a>.'
    };
    "GENERATED_CDN_VSN" !== u.Rb && (videojs.options.flash.swf = u.Fc + "vjs.zencdn.net/" + u.Rb + "/video-js.swf");
    u.va = {};
    "function" === typeof define && define.amd ? define([], function () {
        return videojs
    }) : "object" === typeof exports && "object" === typeof module && (module.exports = videojs);
    u.ka = u.CoreObject = m();
    u.ka.extend = function (a) {
        var c, d;
        a = a || {};
        c = a.init || a.j || this.prototype.init || this.prototype.j || m();
        d = function () {
            c.apply(this, arguments)
        };
        d.prototype = u.l.create(this.prototype);
        d.prototype.constructor = d;
        d.extend = u.ka.extend;
        d.create = u.ka.create;
        for (var e in a)a.hasOwnProperty(e) && (d.prototype[e] = a[e]);
        return d
    };
    u.ka.create = function () {
        var a = u.l.create(this.prototype);
        this.apply(a, arguments);
        return a
    };
    u.d = function (a, c, d) {
        var e = u.getData(a);
        e.z || (e.z = {});
        e.z[c] || (e.z[c] = []);
        d.s || (d.s = u.s++);
        e.z[c].push(d);
        e.V || (e.disabled = l, e.V = function (c) {
            if (!e.disabled) {
                c = u.ic(c);
                var d = e.z[c.type];
                if (d)for (var d = d.slice(0), k = 0, r = d.length; k < r && !c.pc(); k++)d[k].call(a, c)
            }
        });
        1 == e.z[c].length && (document.addEventListener ? a.addEventListener(c, e.V, l) : document.attachEvent && a.attachEvent("on" + c, e.V))
    };
    u.o = function (a, c, d) {
        if (u.mc(a)) {
            var e = u.getData(a);
            if (e.z)if (c) {
                var g = e.z[c];
                if (g) {
                    if (d) {
                        if (d.s)for (e = 0; e < g.length; e++)g[e].s === d.s && g.splice(e--, 1)
                    } else e.z[c] = [];
                    u.ec(a, c)
                }
            } else for (g in e.z)c = g, e.z[c] = [], u.ec(a, c)
        }
    };
    u.ec = function (a, c) {
        var d = u.getData(a);
        0 === d.z[c].length && (delete d.z[c], document.removeEventListener ? a.removeEventListener(c, d.V, l) : document.detachEvent && a.detachEvent("on" + c, d.V));
        u.zb(d.z) && (delete d.z, delete d.V, delete d.disabled);
        u.zb(d) && u.uc(a)
    };
    u.ic = function (a) {
        function c() {
            return f
        }

        function d() {
            return l
        }

        if (!a || !a.Ab) {
            var e = a || window.event;
            a = {};
            for (var g in e)"layerX" !== g && ("layerY" !== g && "keyboardEvent.keyLocation" !== g) && ("returnValue" == g && e.preventDefault || (a[g] = e[g]));
            a.target || (a.target = a.srcElement || document);
            a.relatedTarget = a.fromElement === a.target ? a.toElement : a.fromElement;
            a.preventDefault = function () {
                e.preventDefault && e.preventDefault();
                a.returnValue = l;
                a.fd = c;
                a.defaultPrevented = f
            };
            a.fd = d;
            a.defaultPrevented = l;
            a.stopPropagation = function () {
                e.stopPropagation &&
                e.stopPropagation();
                a.cancelBubble = f;
                a.Ab = c
            };
            a.Ab = d;
            a.stopImmediatePropagation = function () {
                e.stopImmediatePropagation && e.stopImmediatePropagation();
                a.pc = c;
                a.stopPropagation()
            };
            a.pc = d;
            if (a.clientX != h) {
                g = document.documentElement;
                var j = document.body;
                a.pageX = a.clientX + (g && g.scrollLeft || j && j.scrollLeft || 0) - (g && g.clientLeft || j && j.clientLeft || 0);
                a.pageY = a.clientY + (g && g.scrollTop || j && j.scrollTop || 0) - (g && g.clientTop || j && j.clientTop || 0)
            }
            a.which = a.charCode || a.keyCode;
            a.button != h && (a.button = a.button & 1 ? 0 : a.button &
            4 ? 1 : a.button & 2 ? 2 : 0)
        }
        return a
    };
    u.k = function (a, c) {
        var d = u.mc(a) ? u.getData(a) : {}, e = a.parentNode || a.ownerDocument;
        "string" === typeof c && (c = {type: c, target: a});
        c = u.ic(c);
        d.V && d.V.call(a, c);
        if (e && !c.Ab() && c.bubbles !== l)u.k(e, c); else if (!e && !c.defaultPrevented && (d = u.getData(c.target), c.target[c.type])) {
            d.disabled = f;
            if ("function" === typeof c.target[c.type])c.target[c.type]();
            d.disabled = l
        }
        return !c.defaultPrevented
    };
    u.U = function (a, c, d) {
        function e() {
            u.o(a, c, e);
            d.apply(this, arguments)
        }

        e.s = d.s = d.s || u.s++;
        u.d(a, c, e)
    };
    var v = Object.prototype.hasOwnProperty;
    u.e = function (a, c) {
        var d, e;
        d = document.createElement(a || "div");
        for (e in c)v.call(c, e) && (-1 !== e.indexOf("aria-") || "role" == e ? d.setAttribute(e, c[e]) : d[e] = c[e]);
        return d
    };
    u.Z = function (a) {
        return a.charAt(0).toUpperCase() + a.slice(1)
    };
    u.l = {};
    u.l.create = Object.create || function (a) {
            function c() {
            }

            c.prototype = a;
            return new c
        };
    u.l.ra = function (a, c, d) {
        for (var e in a)v.call(a, e) && c.call(d || this, e, a[e])
    };
    u.l.B = function (a, c) {
        if (!c)return a;
        for (var d in c)v.call(c, d) && (a[d] = c[d]);
        return a
    };
    u.l.Wc = function (a, c) {
        var d, e, g;
        a = u.l.copy(a);
        for (d in c)v.call(c, d) && (e = a[d], g = c[d], a[d] = u.l.Na(e) && u.l.Na(g) ? u.l.Wc(e, g) : c[d]);
        return a
    };
    u.l.copy = function (a) {
        return u.l.B({}, a)
    };
    u.l.Na = function (a) {
        return !!a && "object" === typeof a && "[object Object]" === a.toString() && a.constructor === Object
    };
    u.bind = function (a, c, d) {
        function e() {
            return c.apply(a, arguments)
        }

        c.s || (c.s = u.s++);
        e.s = d ? d + "_" + c.s : c.s;
        return e
    };
    u.pa = {};
    u.s = 1;
    u.expando = "vdata" + (new Date).getTime();
    u.getData = function (a) {
        var c = a[u.expando];
        c || (c = a[u.expando] = u.s++, u.pa[c] = {});
        return u.pa[c]
    };
    u.mc = function (a) {
        a = a[u.expando];
        return !(!a || u.zb(u.pa[a]))
    };
    u.uc = function (a) {
        var c = a[u.expando];
        if (c) {
            delete u.pa[c];
            try {
                delete a[u.expando]
            } catch (d) {
                a.removeAttribute ? a.removeAttribute(u.expando) : a[u.expando] = h
            }
        }
    };
    u.zb = function (a) {
        for (var c in a)if (a[c] !== h)return l;
        return f
    };
    u.n = function (a, c) {
        -1 == (" " + a.className + " ").indexOf(" " + c + " ") && (a.className = "" === a.className ? c : a.className + " " + c)
    };
    u.t = function (a, c) {
        var d, e;
        if (-1 != a.className.indexOf(c)) {
            d = a.className.split(" ");
            for (e = d.length - 1; 0 <= e; e--)d[e] === c && d.splice(e, 1);
            a.className = d.join(" ")
        }
    };
    u.F = u.e("video");
    u.J = navigator.userAgent;
    u.Kc = /iPhone/i.test(u.J);
    u.Jc = /iPad/i.test(u.J);
    u.Lc = /iPod/i.test(u.J);
    u.Ic = u.Kc || u.Jc || u.Lc;
    var aa = u, w;
    var x = u.J.match(/OS (\d+)_/i);
    w = x && x[1] ? x[1] : b;
    aa.Kd = w;
    u.Hc = /Android/i.test(u.J);
    var ba = u, y;
    var z = u.J.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i), A, B;
    z ? (A = z[1] && parseFloat(z[1]), B = z[2] && parseFloat(z[2]), y = A && B ? parseFloat(z[1] + "." + z[2]) : A ? A : h) : y = h;
    ba.Qb = y;
    u.Mc = u.Hc && /webkit/i.test(u.J) && 2.3 > u.Qb;
    u.Ub = /Firefox/i.test(u.J);
    u.Ld = /Chrome/i.test(u.J);
    u.$b = !!("ontouchstart"in window || window.Gc && document instanceof window.Gc);
    u.wb = function (a) {
        var c, d, e, g;
        c = {};
        if (a && a.attributes && 0 < a.attributes.length) {
            d = a.attributes;
            for (var j = d.length - 1; 0 <= j; j--) {
                e = d[j].name;
                g = d[j].value;
                if ("boolean" === typeof a[e] || -1 !== ",autoplay,controls,loop,muted,default,".indexOf("," + e + ","))g = g !== h ? f : l;
                c[e] = g
            }
        }
        return c
    };
    u.Pd = function (a, c) {
        var d = "";
        document.defaultView && document.defaultView.getComputedStyle ? d = document.defaultView.getComputedStyle(a, "").getPropertyValue(c) : a.currentStyle && (d = a["client" + c.substr(0, 1).toUpperCase() + c.substr(1)] + "px");
        return d
    };
    u.yb = function (a, c) {
        c.firstChild ? c.insertBefore(a, c.firstChild) : c.appendChild(a)
    };
    u.Nb = {};
    u.u = function (a) {
        0 === a.indexOf("#") && (a = a.slice(1));
        return document.getElementById(a)
    };
    u.ta = function (a, c) {
        c = c || a;
        var d = Math.floor(a % 60), e = Math.floor(a / 60 % 60), g = Math.floor(a / 3600), j = Math.floor(c / 60 % 60), k = Math.floor(c / 3600);
        if (isNaN(a) || Infinity === a)g = e = d = "-";
        g = 0 < g || 0 < k ? g + ":" : "";
        return g + (((g || 10 <= j) && 10 > e ? "0" + e : e) + ":") + (10 > d ? "0" + d : d)
    };
    u.Sc = function () {
        document.body.focus();
        document.onselectstart = q(l)
    };
    u.Ed = function () {
        document.onselectstart = q(f)
    };
    u.trim = function (a) {
        return (a + "").replace(/^\s+|\s+$/g, "")
    };
    u.round = function (a, c) {
        c || (c = 0);
        return Math.round(a * Math.pow(10, c)) / Math.pow(10, c)
    };
    u.sb = function (a, c) {
        return {
            length: 1, start: function () {
                return a
            }, end: function () {
                return c
            }
        }
    };
    u.get = function (a, c, d) {
        var e, g;
        "undefined" === typeof XMLHttpRequest && (window.XMLHttpRequest = function () {
            try {
                return new window.ActiveXObject("Msxml2.XMLHTTP.6.0")
            } catch (a) {
            }
            try {
                return new window.ActiveXObject("Msxml2.XMLHTTP.3.0")
            } catch (c) {
            }
            try {
                return new window.ActiveXObject("Msxml2.XMLHTTP")
            } catch (d) {
            }
            throw Error("This browser does not support XMLHttpRequest.");
        });
        g = new XMLHttpRequest;
        try {
            g.open("GET", a)
        } catch (j) {
            d(j)
        }
        e = 0 === a.indexOf("file:") || 0 === window.location.href.indexOf("file:") && -1 === a.indexOf("http");
        g.onreadystatechange = function () {
            4 === g.readyState && (200 === g.status || e && 0 === g.status ? c(g.responseText) : d && d())
        };
        try {
            g.send()
        } catch (k) {
            d && d(k)
        }
    };
    u.wd = function (a) {
        try {
            var c = window.localStorage || l;
            c && (c.volume = a)
        } catch (d) {
            22 == d.code || 1014 == d.code ? u.log("LocalStorage Full (VideoJS)", d) : 18 == d.code ? u.log("LocalStorage not allowed (VideoJS)", d) : u.log("LocalStorage Error (VideoJS)", d)
        }
    };
    u.kc = function (a) {
        a.match(/^https?:\/\//) || (a = u.e("div", {innerHTML: '<a href="' + a + '">x</a>'}).firstChild.href);
        return a
    };
    u.log = function () {
        u.log.history = u.log.history || [];
        u.log.history.push(arguments);
        window.console && window.console.log(Array.prototype.slice.call(arguments))
    };
    u.cd = function (a) {
        var c, d;
        a.getBoundingClientRect && a.parentNode && (c = a.getBoundingClientRect());
        if (!c)return {left: 0, top: 0};
        a = document.documentElement;
        d = document.body;
        return {
            left: u.round(c.left + (window.pageXOffset || d.scrollLeft) - (a.clientLeft || d.clientLeft || 0)),
            top: u.round(c.top + (window.pageYOffset || d.scrollTop) - (a.clientTop || d.clientTop || 0))
        }
    };
    u.ja = {};
    u.ja.Eb = function (a, c) {
        var d, e, g;
        a = u.l.copy(a);
        for (d in c)c.hasOwnProperty(d) && (e = a[d], g = c[d], a[d] = u.l.Na(e) && u.l.Na(g) ? u.ja.Eb(e, g) : c[d]);
        return a
    };
    u.b = u.ka.extend({
        j: function (a, c, d) {
            this.c = a;
            this.h = u.l.copy(this.h);
            c = this.options(c);
            this.R = c.id || (c.el && c.el.id ? c.el.id : a.id() + "_component_" + u.s++);
            this.ld = c.name || h;
            this.a = c.el || this.e();
            this.K = [];
            this.Ja = {};
            this.Ka = {};
            this.nc();
            this.I(d);
            if (c.vc !== l) {
                var e, g;
                e = u.bind(this.C(), this.C().reportUserActivity);
                this.d("touchstart", function () {
                    e();
                    clearInterval(g);
                    g = setInterval(e, 250)
                });
                a = function () {
                    e();
                    clearInterval(g)
                };
                this.d("touchmove", e);
                this.d("touchend", a);
                this.d("touchcancel", a)
            }
        }
    });
    t = u.b.prototype;
    t.dispose = function () {
        this.k({type: "dispose", bubbles: l});
        if (this.K)for (var a = this.K.length - 1; 0 <= a; a--)this.K[a].dispose && this.K[a].dispose();
        this.Ka = this.Ja = this.K = h;
        this.o();
        this.a.parentNode && this.a.parentNode.removeChild(this.a);
        u.uc(this.a);
        this.a = h
    };
    t.c = f;
    t.C = p("c");
    t.options = function (a) {
        return a === b ? this.h : this.h = u.ja.Eb(this.h, a)
    };
    t.e = function (a, c) {
        return u.e(a, c)
    };
    t.u = p("a");
    t.La = function () {
        return this.G || this.a
    };
    t.id = p("R");
    t.name = p("ld");
    t.children = p("K");
    t.ed = function (a) {
        return this.Ja[a]
    };
    t.fa = function (a) {
        return this.Ka[a]
    };
    t.Y = function (a, c) {
        var d, e;
        "string" === typeof a ? (e = a, c = c || {}, d = c.componentClass || u.Z(e), c.name = e, d = new window.videojs[d](this.c || this, c)) : d = a;
        this.K.push(d);
        "function" === typeof d.id && (this.Ja[d.id()] = d);
        (e = e || d.name && d.name()) && (this.Ka[e] = d);
        "function" === typeof d.el && d.el() && this.La().appendChild(d.el());
        return d
    };
    t.removeChild = function (a) {
        "string" === typeof a && (a = this.fa(a));
        if (a && this.K) {
            for (var c = l, d = this.K.length - 1; 0 <= d; d--)if (this.K[d] === a) {
                c = f;
                this.K.splice(d, 1);
                break
            }
            c && (this.Ja[a.id] = h, this.Ka[a.name] = h, (c = a.u()) && c.parentNode === this.La() && this.La().removeChild(a.u()))
        }
    };
    t.nc = function () {
        var a = this.h;
        if (a && a.children) {
            var c = this;
            u.l.ra(a.children, function (a, e) {
                e !== l && !e.loadEvent && (c[a] = c.Y(a, e))
            })
        }
    };
    t.Q = q("");
    t.d = function (a, c) {
        u.d(this.a, a, u.bind(this, c));
        return this
    };
    t.o = function (a, c) {
        u.o(this.a, a, c);
        return this
    };
    t.U = function (a, c) {
        u.U(this.a, a, u.bind(this, c));
        return this
    };
    t.k = function (a, c) {
        u.k(this.a, a, c);
        return this
    };
    t.I = function (a) {
        a && (this.aa ? a.call(this) : (this.Ua === b && (this.Ua = []), this.Ua.push(a)));
        return this
    };
    t.za = function () {
        this.aa = f;
        var a = this.Ua;
        if (a && 0 < a.length) {
            for (var c = 0, d = a.length; c < d; c++)a[c].call(this);
            this.Ua = [];
            this.k("ready")
        }
    };
    t.n = function (a) {
        u.n(this.a, a);
        return this
    };
    t.t = function (a) {
        u.t(this.a, a);
        return this
    };
    t.show = function () {
        this.a.style.display = "block";
        return this
    };
    t.D = function () {
        this.a.style.display = "none";
        return this
    };
    function C(a) {
        a.t("vjs-lock-showing")
    }

    t.disable = function () {
        this.D();
        this.show = m()
    };
    t.width = function (a, c) {
        return E(this, "width", a, c)
    };
    t.height = function (a, c) {
        return E(this, "height", a, c)
    };
    t.Yc = function (a, c) {
        return this.width(a, f).height(c)
    };
    function E(a, c, d, e) {
        if (d !== b)return a.a.style[c] = -1 !== ("" + d).indexOf("%") || -1 !== ("" + d).indexOf("px") ? d : "auto" === d ? "" : d + "px", e || a.k("resize"), a;
        if (!a.a)return 0;
        d = a.a.style[c];
        e = d.indexOf("px");
        return -1 !== e ? parseInt(d.slice(0, e), 10) : parseInt(a.a["offset" + u.Z(c)], 10)
    }

    u.q = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c);
            var d = l;
            this.d("touchstart", function (a) {
                a.preventDefault();
                d = f
            });
            this.d("touchmove", function () {
                d = l
            });
            var e = this;
            this.d("touchend", function (a) {
                d && e.p(a);
                a.preventDefault()
            });
            this.d("click", this.p);
            this.d("focus", this.Qa);
            this.d("blur", this.Pa)
        }
    });
    t = u.q.prototype;
    t.e = function (a, c) {
        c = u.l.B({
            className: this.Q(),
            innerHTML: '<div class="vjs-control-content"><span class="vjs-control-text">' + (this.oa || "Need Text") + "</span></div>",
            role: "button",
            "aria-live": "polite",
            tabIndex: 0
        }, c);
        return u.b.prototype.e.call(this, a, c)
    };
    t.Q = function () {
        return "vjs-control " + u.b.prototype.Q.call(this)
    };
    t.p = m();
    t.Qa = function () {
        u.d(document, "keyup", u.bind(this, this.ba))
    };
    t.ba = function (a) {
        if (32 == a.which || 13 == a.which)a.preventDefault(), this.p()
    };
    t.Pa = function () {
        u.o(document, "keyup", u.bind(this, this.ba))
    };
    u.O = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c);
            this.Rc = this.fa(this.h.barName);
            this.handle = this.fa(this.h.handleName);
            a.d(this.sc, u.bind(this, this.update));
            this.d("mousedown", this.Ra);
            this.d("touchstart", this.Ra);
            this.d("focus", this.Qa);
            this.d("blur", this.Pa);
            this.d("click", this.p);
            this.c.d("controlsvisible", u.bind(this, this.update));
            a.I(u.bind(this, this.update));
            this.P = {}
        }
    });
    t = u.O.prototype;
    t.e = function (a, c) {
        c = c || {};
        c.className += " vjs-slider";
        c = u.l.B({role: "slider", "aria-valuenow": 0, "aria-valuemin": 0, "aria-valuemax": 100, tabIndex: 0}, c);
        return u.b.prototype.e.call(this, a, c)
    };
    t.Ra = function (a) {
        a.preventDefault();
        u.Sc();
        this.P.move = u.bind(this, this.Gb);
        this.P.end = u.bind(this, this.Hb);
        u.d(document, "mousemove", this.P.move);
        u.d(document, "mouseup", this.P.end);
        u.d(document, "touchmove", this.P.move);
        u.d(document, "touchend", this.P.end);
        this.Gb(a)
    };
    t.Hb = function () {
        u.Ed();
        u.o(document, "mousemove", this.P.move, l);
        u.o(document, "mouseup", this.P.end, l);
        u.o(document, "touchmove", this.P.move, l);
        u.o(document, "touchend", this.P.end, l);
        this.update()
    };
    t.update = function () {
        if (this.a) {
            var a, c = this.xb(), d = this.handle, e = this.Rc;
            isNaN(c) && (c = 0);
            a = c;
            if (d) {
                a = this.a.offsetWidth;
                var g = d.u().offsetWidth;
                a = g ? g / a : 0;
                c *= 1 - a;
                a = c + a / 2;
                d.u().style.left = u.round(100 * c, 2) + "%"
            }
            e.u().style.width = u.round(100 * a, 2) + "%"
        }
    };
    function F(a, c) {
        var d, e, g, j;
        d = a.a;
        e = u.cd(d);
        j = g = d.offsetWidth;
        d = a.handle;
        if (a.h.Gd)return j = e.top, e = c.changedTouches ? c.changedTouches[0].pageY : c.pageY, d && (d = d.u().offsetHeight, j += d / 2, g -= d), Math.max(0, Math.min(1, (j - e + g) / g));
        g = e.left;
        e = c.changedTouches ? c.changedTouches[0].pageX : c.pageX;
        d && (d = d.u().offsetWidth, g += d / 2, j -= d);
        return Math.max(0, Math.min(1, (e - g) / j))
    }

    t.Qa = function () {
        u.d(document, "keyup", u.bind(this, this.ba))
    };
    t.ba = function (a) {
        37 == a.which ? (a.preventDefault(), this.yc()) : 39 == a.which && (a.preventDefault(), this.zc())
    };
    t.Pa = function () {
        u.o(document, "keyup", u.bind(this, this.ba))
    };
    t.p = function (a) {
        a.stopImmediatePropagation();
        a.preventDefault()
    };
    u.W = u.b.extend();
    u.W.prototype.defaultValue = 0;
    u.W.prototype.e = function (a, c) {
        c = c || {};
        c.className += " vjs-slider-handle";
        c = u.l.B({innerHTML: '<span class="vjs-control-text">' + this.defaultValue + "</span>"}, c);
        return u.b.prototype.e.call(this, "div", c)
    };
    u.la = u.b.extend();
    function ca(a, c) {
        a.Y(c);
        c.d("click", u.bind(a, function () {
            C(this)
        }))
    }

    u.la.prototype.e = function () {
        var a = this.options().Uc || "ul";
        this.G = u.e(a, {className: "vjs-menu-content"});
        a = u.b.prototype.e.call(this, "div", {append: this.G, className: "vjs-menu"});
        a.appendChild(this.G);
        u.d(a, "click", function (a) {
            a.preventDefault();
            a.stopImmediatePropagation()
        });
        return a
    };
    u.N = u.q.extend({
        j: function (a, c) {
            u.q.call(this, a, c);
            this.selected(c.selected)
        }
    });
    u.N.prototype.e = function (a, c) {
        return u.q.prototype.e.call(this, "li", u.l.B({className: "vjs-menu-item", innerHTML: this.h.label}, c))
    };
    u.N.prototype.p = function () {
        this.selected(f)
    };
    u.N.prototype.selected = function (a) {
        a ? (this.n("vjs-selected"), this.a.setAttribute("aria-selected", f)) : (this.t("vjs-selected"), this.a.setAttribute("aria-selected", l))
    };
    u.S = u.q.extend({
        j: function (a, c) {
            u.q.call(this, a, c);
            this.ua = this.Ma();
            this.Y(this.ua);
            this.L && 0 === this.L.length && this.D();
            this.d("keyup", this.ba);
            this.a.setAttribute("aria-haspopup", f);
            this.a.setAttribute("role", "button")
        }
    });
    t = u.S.prototype;
    t.na = l;
    t.Ma = function () {
        var a = new u.la(this.c);
        this.options().title && a.u().appendChild(u.e("li", {
            className: "vjs-menu-title",
            innerHTML: u.Z(this.A),
            Cd: -1
        }));
        if (this.L = this.createItems())for (var c = 0; c < this.L.length; c++)ca(a, this.L[c]);
        return a
    };
    t.qa = m();
    t.Q = function () {
        return this.className + " vjs-menu-button " + u.q.prototype.Q.call(this)
    };
    t.Qa = m();
    t.Pa = m();
    t.p = function () {
        this.U("mouseout", u.bind(this, function () {
            C(this.ua);
            this.a.blur()
        }));
        this.na ? G(this) : H(this)
    };
    t.ba = function (a) {
        a.preventDefault();
        32 == a.which || 13 == a.which ? this.na ? G(this) : H(this) : 27 == a.which && this.na && G(this)
    };
    function H(a) {
        a.na = f;
        a.ua.n("vjs-lock-showing");
        a.a.setAttribute("aria-pressed", f);
        a.L && 0 < a.L.length && a.L[0].u().focus()
    }

    function G(a) {
        a.na = l;
        C(a.ua);
        a.a.setAttribute("aria-pressed", l)
    }

    u.Player = u.b.extend({
        j: function (a, c, d) {
            this.M = a;
            a.id = a.id || "vjs_video_" + u.s++;
            c = u.l.B(da(a), c);
            this.v = {};
            this.tc = c.poster;
            this.rb = c.controls;
            a.controls = l;
            c.vc = l;
            u.b.call(this, this, c, d);
            this.controls() ? this.n("vjs-controls-enabled") : this.n("vjs-controls-disabled");
            this.U("play", function (a) {
                u.k(this.a, {
                    type: "firstplay",
                    target: this.a
                }) || (a.preventDefault(), a.stopPropagation(), a.stopImmediatePropagation())
            });
            this.d("ended", this.md);
            this.d("play", this.Jb);
            this.d("firstplay", this.nd);
            this.d("pause", this.Ib);
            this.d("progress", this.pd);
            this.d("durationchange", this.qc);
            this.d("error", this.Fb);
            this.d("fullscreenchange", this.od);
            u.va[this.R] = this;
            c.plugins && u.l.ra(c.plugins, function (a, c) {
                this[a](c)
            }, this);
            var e, g, j, k;
            e = u.bind(this, this.reportUserActivity);
            this.d("mousedown", function () {
                e();
                clearInterval(g);
                g = setInterval(e, 250)
            });
            this.d("mousemove", e);
            this.d("mouseup", function () {
                e();
                clearInterval(g)
            });
            this.d("keydown", e);
            this.d("keyup", e);
            j = setInterval(u.bind(this, function () {
                this.ia && (this.ia = l, this.userActive(f),
                    clearTimeout(k), k = setTimeout(u.bind(this, function () {
                    this.ia || this.userActive(l)
                }), 2E3))
            }), 250);
            this.d("dispose", function () {
                clearInterval(j);
                clearTimeout(k)
            })
        }
    });
    t = u.Player.prototype;
    t.h = u.options;
    t.dispose = function () {
        this.k("dispose");
        this.o("dispose");
        u.va[this.R] = h;
        this.M && this.M.player && (this.M.player = h);
        this.a && this.a.player && (this.a.player = h);
        clearInterval(this.Ta);
        this.wa();
        this.i && this.i.dispose();
        u.b.prototype.dispose.call(this)
    };
    function da(a) {
        var c = {sources: [], tracks: []};
        u.l.B(c, u.wb(a));
        if (a.hasChildNodes()) {
            var d, e, g, j;
            a = a.childNodes;
            g = 0;
            for (j = a.length; g < j; g++)d = a[g], e = d.nodeName.toLowerCase(), "source" === e ? c.sources.push(u.wb(d)) : "track" === e && c.tracks.push(u.wb(d))
        }
        return c
    }

    t.e = function () {
        var a = this.a = u.b.prototype.e.call(this, "div"), c = this.M;
        c.removeAttribute("width");
        c.removeAttribute("height");
        if (c.hasChildNodes()) {
            var d, e, g, j, k;
            d = c.childNodes;
            e = d.length;
            for (k = []; e--;)g = d[e], j = g.nodeName.toLowerCase(), "track" === j && k.push(g);
            for (d = 0; d < k.length; d++)c.removeChild(k[d])
        }
        a.id = c.id;
        a.className = c.className;
        c.id += "_html5_api";
        c.className = "vjs-tech";
        c.player = a.player = this;
        this.n("vjs-paused");
        this.width(this.h.width, f);
        this.height(this.h.height, f);
        c.parentNode && c.parentNode.insertBefore(a,
            c);
        u.yb(c, a);
        return a
    };
    function I(a, c, d) {
        a.i && (a.aa = l, a.i.dispose(), a.Cb && (a.Cb = l, clearInterval(a.Ta)), a.Db && J(a), a.i = l);
        "Html5" !== c && a.M && (u.g.gc(a.M), a.M = h);
        a.xa = c;
        a.aa = l;
        var e = u.l.B({source: d, parentEl: a.a}, a.h[c.toLowerCase()]);
        d && (d.src == a.v.src && 0 < a.v.currentTime && (e.startTime = a.v.currentTime), a.v.src = d.src);
        a.i = new window.videojs[c](a, e);
        a.i.I(function () {
            this.c.za();
            if (!this.m.progressEvents) {
                var a = this.c;
                a.Cb = f;
                a.Ta = setInterval(u.bind(a, function () {
                    this.v.mb < this.buffered().end(0) ? this.k("progress") : 1 == this.bufferedPercent() &&
                    (clearInterval(this.Ta), this.k("progress"))
                }), 500);
                a.i.U("progress", function () {
                    this.m.progressEvents = f;
                    var a = this.c;
                    a.Cb = l;
                    clearInterval(a.Ta)
                })
            }
            this.m.timeupdateEvents || (a = this.c, a.Db = f, a.d("play", a.Cc), a.d("pause", a.wa), a.i.U("timeupdate", function () {
                this.m.timeupdateEvents = f;
                J(this.c)
            }))
        })
    }

    function J(a) {
        a.Db = l;
        a.wa();
        a.o("play", a.Cc);
        a.o("pause", a.wa)
    }

    t.Cc = function () {
        this.fc && this.wa();
        this.fc = setInterval(u.bind(this, function () {
            this.k("timeupdate")
        }), 250)
    };
    t.wa = function () {
        clearInterval(this.fc)
    };
    t.Jb = function () {
        u.t(this.a, "vjs-paused");
        u.n(this.a, "vjs-playing")
    };
    t.nd = function () {
        this.h.starttime && this.currentTime(this.h.starttime);
        this.n("vjs-has-started")
    };
    t.Ib = function () {
        u.t(this.a, "vjs-playing");
        u.n(this.a, "vjs-paused")
    };
    t.pd = function () {
        1 == this.bufferedPercent() && this.k("loadedalldata")
    };
    t.md = function () {
        this.h.loop && (this.currentTime(0), this.play())
    };
    t.qc = function () {
        var a = K(this, "duration");
        a && this.duration(a)
    };
    t.od = function () {
        this.isFullScreen() ? this.n("vjs-fullscreen") : this.t("vjs-fullscreen")
    };
    t.Fb = function (a) {
        u.log("Video Error", a)
    };
    function L(a, c, d) {
        if (a.i && !a.i.aa)a.i.I(function () {
            this[c](d)
        }); else try {
            a.i[c](d)
        } catch (e) {
            throw u.log(e), e;
        }
    }

    function K(a, c) {
        if (a.i && a.i.aa)try {
            return a.i[c]()
        } catch (d) {
            throw a.i[c] === b ? u.log("Video.js: " + c + " method not defined for " + a.xa + " playback technology.", d) : "TypeError" == d.name ? (u.log("Video.js: " + c + " unavailable on " + a.xa + " playback technology element.", d), a.i.aa = l) : u.log(d), d;
        }
    }

    t.play = function () {
        L(this, "play");
        return this
    };
    t.pause = function () {
        L(this, "pause");
        return this
    };
    t.paused = function () {
        return K(this, "paused") === l ? l : f
    };
    t.currentTime = function (a) {
        return a !== b ? (L(this, "setCurrentTime", a), this.Db && this.k("timeupdate"), this) : this.v.currentTime = K(this, "currentTime") || 0
    };
    t.duration = function (a) {
        if (a !== b)return this.v.duration = parseFloat(a), this;
        this.v.duration === b && this.qc();
        return this.v.duration || 0
    };
    t.buffered = function () {
        var a = K(this, "buffered"), c = a.length - 1, d = this.v.mb = this.v.mb || 0;
        a && (0 <= c && a.end(c) !== d) && (d = a.end(c), this.v.mb = d);
        return u.sb(0, d)
    };
    t.bufferedPercent = function () {
        return this.duration() ? this.buffered().end(0) / this.duration() : 0
    };
    t.volume = function (a) {
        if (a !== b)return a = Math.max(0, Math.min(1, parseFloat(a))), this.v.volume = a, L(this, "setVolume", a), u.wd(a), this;
        a = parseFloat(K(this, "volume"));
        return isNaN(a) ? 1 : a
    };
    t.muted = function (a) {
        return a !== b ? (L(this, "setMuted", a), this) : K(this, "muted") || l
    };
    t.Wa = function () {
        return K(this, "supportsFullScreen") || l
    };
    t.oc = l;
    t.isFullScreen = function (a) {
        return a !== b ? (this.oc = a, this) : this.oc
    };
    t.requestFullScreen = function () {
        var a = u.Nb.requestFullScreen;
        this.isFullScreen(f);
        a ? (u.d(document, a.ub, u.bind(this, function (c) {
            this.isFullScreen(document[a.isFullScreen]);
            this.isFullScreen() === l && u.o(document, a.ub, arguments.callee);
            this.k("fullscreenchange")
        })), this.a[a.wc]()) : this.i.Wa() ? L(this, "enterFullScreen") : (this.gd = f, this.Zc = document.documentElement.style.overflow, u.d(document, "keydown", u.bind(this, this.jc)), document.documentElement.style.overflow = "hidden", u.n(document.body, "vjs-full-window"),
            this.k("enterFullWindow"), this.k("fullscreenchange"));
        return this
    };
    t.cancelFullScreen = function () {
        var a = u.Nb.requestFullScreen;
        this.isFullScreen(l);
        if (a)document[a.ob](); else this.i.Wa() ? L(this, "exitFullScreen") : (M(this), this.k("fullscreenchange"));
        return this
    };
    t.jc = function (a) {
        27 === a.keyCode && (this.isFullScreen() === f ? this.cancelFullScreen() : M(this))
    };
    function M(a) {
        a.gd = l;
        u.o(document, "keydown", a.jc);
        document.documentElement.style.overflow = a.Zc;
        u.t(document.body, "vjs-full-window");
        a.k("exitFullWindow")
    }

    t.src = function (a) {
        if (a === b)return K(this, "src");
        if (a instanceof Array) {
            var c;
            a:{
                c = a;
                for (var d = 0, e = this.h.techOrder; d < e.length; d++) {
                    var g = u.Z(e[d]), j = window.videojs[g];
                    if (j.isSupported())for (var k = 0, r = c; k < r.length; k++) {
                        var n = r[k];
                        if (j.canPlaySource(n)) {
                            c = {source: n, i: g};
                            break a
                        }
                    }
                }
                c = l
            }
            c ? (a = c.source, c = c.i, c == this.xa ? this.src(a) : I(this, c, a)) : (this.a.appendChild(u.e("p", {innerHTML: this.options().notSupportedMessage})), this.za())
        } else a instanceof Object ? window.videojs[this.xa].canPlaySource(a) ? this.src(a.src) :
            this.src([a]) : (this.v.src = a, this.aa ? (L(this, "src", a), "auto" == this.h.preload && this.load(), this.h.autoplay && this.play()) : this.I(function () {
            this.src(a)
        }));
        return this
    };
    t.load = function () {
        L(this, "load");
        return this
    };
    t.currentSrc = function () {
        return K(this, "currentSrc") || this.v.src || ""
    };
    t.Sa = function (a) {
        return a !== b ? (L(this, "setPreload", a), this.h.preload = a, this) : K(this, "preload")
    };
    t.autoplay = function (a) {
        return a !== b ? (L(this, "setAutoplay", a), this.h.autoplay = a, this) : K(this, "autoplay")
    };
    t.loop = function (a) {
        return a !== b ? (L(this, "setLoop", a), this.h.loop = a, this) : K(this, "loop")
    };
    t.poster = function (a) {
        if (a === b)return this.tc;
        this.tc = a;
        L(this, "setPoster", a);
        this.k("posterchange")
    };
    t.controls = function (a) {
        return a !== b ? (a = !!a, this.rb !== a && ((this.rb = a) ? (this.t("vjs-controls-disabled"), this.n("vjs-controls-enabled"), this.k("controlsenabled")) : (this.t("vjs-controls-enabled"), this.n("vjs-controls-disabled"), this.k("controlsdisabled"))), this) : this.rb
    };
    u.Player.prototype.Pb;
    t = u.Player.prototype;
    t.usingNativeControls = function (a) {
        return a !== b ? (a = !!a, this.Pb !== a && ((this.Pb = a) ? (this.n("vjs-using-native-controls"), this.k("usingnativecontrols")) : (this.t("vjs-using-native-controls"), this.k("usingcustomcontrols"))), this) : this.Pb
    };
    t.error = function () {
        return K(this, "error")
    };
    t.ended = function () {
        return K(this, "ended")
    };
    t.seeking = function () {
        return K(this, "seeking")
    };
    t.ia = f;
    t.reportUserActivity = function () {
        this.ia = f
    };
    t.Ob = f;
    t.userActive = function (a) {
        return a !== b ? (a = !!a, a !== this.Ob && ((this.Ob = a) ? (this.ia = f, this.t("vjs-user-inactive"), this.n("vjs-user-active"), this.k("useractive")) : (this.ia = l, this.i && this.i.U("mousemove", function (a) {
            a.stopPropagation();
            a.preventDefault()
        }), this.t("vjs-user-active"), this.n("vjs-user-inactive"), this.k("userinactive"))), this) : this.Ob
    };
    var N, O, P;
    P = document.createElement("div");
    O = {};
    P.Md !== b ? (O.wc = "requestFullscreen", O.ob = "exitFullscreen", O.ub = "fullscreenchange", O.isFullScreen = "fullScreen") : (document.mozCancelFullScreen ? (N = "moz", O.isFullScreen = N + "FullScreen") : (N = "webkit", O.isFullScreen = N + "IsFullScreen"), P[N + "RequestFullScreen"] && (O.wc = N + "RequestFullScreen", O.ob = N + "CancelFullScreen"), O.ub = N + "fullscreenchange");
    document[O.ob] && (u.Nb.requestFullScreen = O);
    u.Da = u.b.extend();
    u.Da.prototype.h = {
        Rd: "play",
        children: {
            playToggle: {},
            currentTimeDisplay: {},
            timeDivider: {},
            durationDisplay: {},
            remainingTimeDisplay: {},
            progressControl: {},
            fullscreenToggle: {},
            volumeControl: {},
            muteToggle: {}
        }
    };
    u.Da.prototype.e = function () {
        return u.e("div", {className: "vjs-control-bar"})
    };
    u.Xb = u.q.extend({
        j: function (a, c) {
            u.q.call(this, a, c);
            a.d("play", u.bind(this, this.Jb));
            a.d("pause", u.bind(this, this.Ib))
        }
    });
    t = u.Xb.prototype;
    t.oa = "Play";
    t.Q = function () {
        return "vjs-play-control " + u.q.prototype.Q.call(this)
    };
    t.p = function () {
        this.c.paused() ? this.c.play() : this.c.pause()
    };
    t.Jb = function () {
        u.t(this.a, "vjs-paused");
        u.n(this.a, "vjs-playing");
        this.a.children[0].children[0].innerHTML = "Pause"
    };
    t.Ib = function () {
        u.t(this.a, "vjs-playing");
        u.n(this.a, "vjs-paused");
        this.a.children[0].children[0].innerHTML = "Play"
    };
    u.$a = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c);
            a.d("timeupdate", u.bind(this, this.da))
        }
    });
    u.$a.prototype.e = function () {
        var a = u.b.prototype.e.call(this, "div", {className: "vjs-current-time vjs-time-controls vjs-control"});
        this.G = u.e("div", {
            className: "vjs-current-time-display",
            innerHTML: '<span class="vjs-control-text">Current Time </span>0:00',
            "aria-live": "off"
        });
        a.appendChild(this.G);
        return a
    };
    u.$a.prototype.da = function () {
        var a = this.c.Va ? this.c.v.currentTime : this.c.currentTime();
        this.G.innerHTML = '<span class="vjs-control-text">Current Time </span>' + u.ta(a, this.c.duration())
    };
    u.ab = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c);
            a.d("timeupdate", u.bind(this, this.da))
        }
    });
    u.ab.prototype.e = function () {
        var a = u.b.prototype.e.call(this, "div", {className: "vjs-duration vjs-time-controls vjs-control"});
        this.G = u.e("div", {
            className: "vjs-duration-display",
            innerHTML: '<span class="vjs-control-text">Duration Time </span>0:00',
            "aria-live": "off"
        });
        a.appendChild(this.G);
        return a
    };
    u.ab.prototype.da = function () {
        var a = this.c.duration();
        a && (this.G.innerHTML = '<span class="vjs-control-text">Duration Time </span>' + u.ta(a))
    };
    u.bc = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c)
        }
    });
    u.bc.prototype.e = function () {
        return u.b.prototype.e.call(this, "div", {
            className: "vjs-time-divider",
            innerHTML: "<div><span>/</span></div>"
        })
    };
    u.gb = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c);
            a.d("timeupdate", u.bind(this, this.da))
        }
    });
    u.gb.prototype.e = function () {
        var a = u.b.prototype.e.call(this, "div", {className: "vjs-remaining-time vjs-time-controls vjs-control"});
        this.G = u.e("div", {
            className: "vjs-remaining-time-display",
            innerHTML: '<span class="vjs-control-text">Remaining Time </span>-0:00',
            "aria-live": "off"
        });
        a.appendChild(this.G);
        return a
    };
    u.gb.prototype.da = function () {
        this.c.duration() && (this.G.innerHTML = '<span class="vjs-control-text">Remaining Time </span>-' + u.ta(this.c.duration() - this.c.currentTime()))
    };
    u.Ea = u.q.extend({
        j: function (a, c) {
            u.q.call(this, a, c)
        }
    });
    u.Ea.prototype.oa = "Fullscreen";
    u.Ea.prototype.Q = function () {
        return "vjs-fullscreen-control " + u.q.prototype.Q.call(this)
    };
    u.Ea.prototype.p = function () {
        this.c.isFullScreen() ? (this.c.cancelFullScreen(), this.a.children[0].children[0].innerHTML = "Fullscreen") : (this.c.requestFullScreen(), this.a.children[0].children[0].innerHTML = "Non-Fullscreen")
    };
    u.fb = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c)
        }
    });
    u.fb.prototype.h = {children: {seekBar: {}}};
    u.fb.prototype.e = function () {
        return u.b.prototype.e.call(this, "div", {className: "vjs-progress-control vjs-control"})
    };
    u.Yb = u.O.extend({
        j: function (a, c) {
            u.O.call(this, a, c);
            a.d("timeupdate", u.bind(this, this.Aa));
            a.I(u.bind(this, this.Aa))
        }
    });
    t = u.Yb.prototype;
    t.h = {
        children: {loadProgressBar: {}, playProgressBar: {}, seekHandle: {}},
        barName: "playProgressBar",
        handleName: "seekHandle"
    };
    t.sc = "timeupdate";
    t.e = function () {
        return u.O.prototype.e.call(this, "div", {className: "vjs-progress-holder", "aria-label": "video progress bar"})
    };
    t.Aa = function () {
        var a = this.c.Va ? this.c.v.currentTime : this.c.currentTime();
        this.a.setAttribute("aria-valuenow", u.round(100 * this.xb(), 2));
        this.a.setAttribute("aria-valuetext", u.ta(a, this.c.duration()))
    };
    t.xb = function () {
        return this.c.currentTime() / this.c.duration()
    };
    t.Ra = function (a) {
        u.O.prototype.Ra.call(this, a);
        this.c.Va = f;
        this.Hd = !this.c.paused();
        this.c.pause()
    };
    t.Gb = function (a) {
        a = F(this, a) * this.c.duration();
        a == this.c.duration() && (a -= 0.1);
        this.c.currentTime(a)
    };
    t.Hb = function (a) {
        u.O.prototype.Hb.call(this, a);
        this.c.Va = l;
        this.Hd && this.c.play()
    };
    t.zc = function () {
        this.c.currentTime(this.c.currentTime() + 5)
    };
    t.yc = function () {
        this.c.currentTime(this.c.currentTime() - 5)
    };
    u.cb = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c);
            a.d("progress", u.bind(this, this.update))
        }
    });
    u.cb.prototype.e = function () {
        return u.b.prototype.e.call(this, "div", {
            className: "vjs-load-progress",
            innerHTML: '<span class="vjs-control-text">Loaded: 0%</span>'
        })
    };
    u.cb.prototype.update = function () {
        this.a.style && (this.a.style.width = u.round(100 * this.c.bufferedPercent(), 2) + "%")
    };
    u.Wb = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c)
        }
    });
    u.Wb.prototype.e = function () {
        return u.b.prototype.e.call(this, "div", {
            className: "vjs-play-progress",
            innerHTML: '<span class="vjs-control-text">Progress: 0%</span>'
        })
    };
    u.Ga = u.W.extend({
        j: function (a, c) {
            u.W.call(this, a, c);
            a.d("timeupdate", u.bind(this, this.da))
        }
    });
    u.Ga.prototype.defaultValue = "00:00";
    u.Ga.prototype.e = function () {
        return u.W.prototype.e.call(this, "div", {className: "vjs-seek-handle", "aria-live": "off"})
    };
    u.Ga.prototype.da = function () {
        var a = this.c.Va ? this.c.v.currentTime : this.c.currentTime();
        this.a.innerHTML = '<span class="vjs-control-text">' + u.ta(a, this.c.duration()) + "</span>"
    };
    u.ib = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c);
            a.i && (a.i.m && a.i.m.volumeControl === l) && this.n("vjs-hidden");
            a.d("loadstart", u.bind(this, function () {
                a.i.m && a.i.m.volumeControl === l ? this.n("vjs-hidden") : this.t("vjs-hidden")
            }))
        }
    });
    u.ib.prototype.h = {children: {volumeBar: {}}};
    u.ib.prototype.e = function () {
        return u.b.prototype.e.call(this, "div", {className: "vjs-volume-control vjs-control"})
    };
    u.hb = u.O.extend({
        j: function (a, c) {
            u.O.call(this, a, c);
            a.d("volumechange", u.bind(this, this.Aa));
            a.I(u.bind(this, this.Aa));
            setTimeout(u.bind(this, this.update), 0)
        }
    });
    t = u.hb.prototype;
    t.Aa = function () {
        this.a.setAttribute("aria-valuenow", u.round(100 * this.c.volume(), 2));
        this.a.setAttribute("aria-valuetext", u.round(100 * this.c.volume(), 2) + "%")
    };
    t.h = {children: {volumeLevel: {}, volumeHandle: {}}, barName: "volumeLevel", handleName: "volumeHandle"};
    t.sc = "volumechange";
    t.e = function () {
        return u.O.prototype.e.call(this, "div", {className: "vjs-volume-bar", "aria-label": "volume level"})
    };
    t.Gb = function (a) {
        this.c.muted() && this.c.muted(l);
        this.c.volume(F(this, a))
    };
    t.xb = function () {
        return this.c.muted() ? 0 : this.c.volume()
    };
    t.zc = function () {
        this.c.volume(this.c.volume() + 0.1)
    };
    t.yc = function () {
        this.c.volume(this.c.volume() - 0.1)
    };
    u.cc = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c)
        }
    });
    u.cc.prototype.e = function () {
        return u.b.prototype.e.call(this, "div", {
            className: "vjs-volume-level",
            innerHTML: '<span class="vjs-control-text"></span>'
        })
    };
    u.jb = u.W.extend();
    u.jb.prototype.defaultValue = "00:00";
    u.jb.prototype.e = function () {
        return u.W.prototype.e.call(this, "div", {className: "vjs-volume-handle"})
    };
    u.ea = u.q.extend({
        j: function (a, c) {
            u.q.call(this, a, c);
            a.d("volumechange", u.bind(this, this.update));
            a.i && (a.i.m && a.i.m.volumeControl === l) && this.n("vjs-hidden");
            a.d("loadstart", u.bind(this, function () {
                a.i.m && a.i.m.volumeControl === l ? this.n("vjs-hidden") : this.t("vjs-hidden")
            }))
        }
    });
    u.ea.prototype.e = function () {
        return u.q.prototype.e.call(this, "div", {
            className: "vjs-mute-control vjs-control",
            innerHTML: '<div><span class="vjs-control-text">Mute</span></div>'
        })
    };
    u.ea.prototype.p = function () {
        this.c.muted(this.c.muted() ? l : f)
    };
    u.ea.prototype.update = function () {
        var a = this.c.volume(), c = 3;
        0 === a || this.c.muted() ? c = 0 : 0.33 > a ? c = 1 : 0.67 > a && (c = 2);
        this.c.muted() ? "Unmute" != this.a.children[0].children[0].innerHTML && (this.a.children[0].children[0].innerHTML = "Unmute") : "Mute" != this.a.children[0].children[0].innerHTML && (this.a.children[0].children[0].innerHTML = "Mute");
        for (a = 0; 4 > a; a++)u.t(this.a, "vjs-vol-" + a);
        u.n(this.a, "vjs-vol-" + c)
    };
    u.ma = u.S.extend({
        j: function (a, c) {
            u.S.call(this, a, c);
            a.d("volumechange", u.bind(this, this.update));
            a.i && (a.i.m && a.i.m.Dc === l) && this.n("vjs-hidden");
            a.d("loadstart", u.bind(this, function () {
                a.i.m && a.i.m.Dc === l ? this.n("vjs-hidden") : this.t("vjs-hidden")
            }));
            this.n("vjs-menu-button")
        }
    });
    u.ma.prototype.Ma = function () {
        var a = new u.la(this.c, {Uc: "div"}), c = new u.hb(this.c, u.l.B({Gd: f}, this.h.Yd));
        a.Y(c);
        return a
    };
    u.ma.prototype.p = function () {
        u.ea.prototype.p.call(this);
        u.S.prototype.p.call(this)
    };
    u.ma.prototype.e = function () {
        return u.q.prototype.e.call(this, "div", {
            className: "vjs-volume-menu-button vjs-menu-button vjs-control",
            innerHTML: '<div><span class="vjs-control-text">Mute</span></div>'
        })
    };
    u.ma.prototype.update = u.ea.prototype.update;
    u.Fa = u.q.extend({
        j: function (a, c) {
            u.q.call(this, a, c);
            a.poster() && this.src(a.poster());
            (!a.poster() || !a.controls()) && this.D();
            a.d("posterchange", u.bind(this, function () {
                this.src(a.poster())
            }));
            a.d("play", u.bind(this, this.D))
        }
    });
    var Q = "backgroundSize"in u.F.style;
    u.Fa.prototype.e = function () {
        var a = u.e("div", {className: "vjs-poster", tabIndex: -1});
        Q || a.appendChild(u.e("img"));
        return a
    };
    u.Fa.prototype.src = function (a) {
        var c = this.u();
        a !== b && (Q ? c.style.backgroundImage = 'url("' + a + '")' : c.firstChild.src = a)
    };
    u.Fa.prototype.p = function () {
        this.C().controls() && this.c.play()
    };
    u.Vb = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c);
            a.d("canplay", u.bind(this, this.D));
            a.d("canplaythrough", u.bind(this, this.D));
            a.d("playing", u.bind(this, this.D));
            a.d("seeking", u.bind(this, this.D));
            //a.d("seeking", u.bind(this, this.show));
            a.d("seeked", u.bind(this, this.D));
            a.d("error", u.bind(this, this.D));
            //a.d("error", u.bind(this, this.show));
            a.d("ended", u.bind(this, this.D));
            a.d("waiting", u.bind(this, this.D))
            //a.d("waiting", u.bind(this, this.show))
        }
    });
    u.Vb.prototype.e = function () {
        return u.b.prototype.e.call(this, "div", {className: "vjs-loading-spinner"})
    };
    u.Ya = u.q.extend();
    u.Ya.prototype.e = function () {
        return u.q.prototype.e.call(this, "div", {
            id:"play-button-id",
            className: "vjs-big-play-button",
            innerHTML: '<span aria-hidden="true"></span>',
            "aria-label": "play video"
        })
    };
    u.Ya.prototype.p = function () {
        this.c.play()
    };
    u.r = u.b.extend({
        j: function (a, c, d) {
            c = c || {};
            c.vc = l;
            u.b.call(this, a, c, d);
            var e, g;
            g = this;
            e = this.C();
            a = function () {
                if (e.controls() && !e.usingNativeControls()) {
                    var a;
                    g.d("mousedown", g.p);
                    g.d("touchstart", function (c) {
                        c.preventDefault();
                        a = this.c.userActive()
                    });
                    g.d("touchmove", function () {
                        a && this.C().reportUserActivity()
                    });
                    var c, d, n, s;
                    c = 0;
                    g.d("touchstart", function () {
                        c = (new Date).getTime();
                        n = f
                    });
                    s = function () {
                        n = l
                    };
                    g.d("touchmove", s);
                    g.d("touchleave", s);
                    g.d("touchcancel", s);
                    g.d("touchend", function () {
                        n === f && (d = (new Date).getTime() -
                            c, 250 > d && this.k("tap"))
                    });
                    g.d("tap", g.qd)
                }
            };
            c = u.bind(g, g.td);
            this.I(a);
            e.d("controlsenabled", a);
            e.d("controlsdisabled", c)
        }
    });
    t = u.r.prototype;
    t.td = function () {
        this.o("tap");
        this.o("touchstart");
        this.o("touchmove");
        this.o("touchleave");
        this.o("touchcancel");
        this.o("touchend");
        this.o("click");
        this.o("mousedown")
    };
    t.p = function (a) {
        0 === a.button && this.C().controls() && (this.C().paused() ? this.C().play() : this.C().pause())
    };
    t.qd = function () {
        this.C().userActive(!this.C().userActive())
    };
    t.Lb = m();
    t.m = {volumeControl: f, fullscreenResize: l, progressEvents: l, timeupdateEvents: l};
    u.media = {};
    u.media.Xa = "play pause paused currentTime setCurrentTime duration buffered volume setVolume muted setMuted width height supportsFullScreen enterFullScreen src load currentSrc preload setPreload autoplay setAutoplay loop setLoop error networkState readyState seeking initialTime startOffsetTime played seekable ended videoTracks audioTracks videoWidth videoHeight textTracks defaultPlaybackRate playbackRate mediaGroup controller controls defaultMuted".split(" ");
    function ea() {
        var a = u.media.Xa[i];
        return function () {
            throw Error('The "' + a + "\" method is not available on the playback technology's API");
        }
    }

    for (var i = u.media.Xa.length - 1; 0 <= i; i--)u.r.prototype[u.media.Xa[i]] = ea();
    u.g = u.r.extend({
        j: function (a, c, d) {
            this.m.volumeControl = u.g.Tc();
            this.m.movingMediaElementInDOM = !u.Ic;
            this.m.fullscreenResize = f;
            u.r.call(this, a, c, d);
            for (d = u.g.bb.length - 1; 0 <= d; d--)u.d(this.a, u.g.bb[d], u.bind(this.c, this.ad));
            (c = c.source) && this.a.currentSrc === c.src && 0 < this.a.networkState ? a.k("loadstart") : c && (this.a.src = c.src);
            if (u.$b && a.options().nativeControlsForTouch !== l) {
                var e, g, j, k;
                e = this;
                g = this.C();
                c = g.controls();
                e.a.controls = !!c;
                j = function () {
                    e.a.controls = f
                };
                k = function () {
                    e.a.controls = l
                };
                g.d("controlsenabled",
                    j);
                g.d("controlsdisabled", k);
                c = function () {
                    g.o("controlsenabled", j);
                    g.o("controlsdisabled", k)
                };
                e.d("dispose", c);
                g.d("usingcustomcontrols", c);
                g.usingNativeControls(f)
            }
            a.I(function () {
                this.M && (this.h.autoplay && this.paused()) && (delete this.M.poster, this.play())
            });
            this.za()
        }
    });
    t = u.g.prototype;
    t.dispose = function () {
        u.r.prototype.dispose.call(this)
    };
    t.e = function () {
        var a = this.c, c = a.M, d;
        if (!c || this.m.movingMediaElementInDOM === l)c ? (d = c.cloneNode(l), u.g.gc(c), c = d, a.M = h) : c = u.e("video", {
            id: a.id() + "_html5_api",
            className: "vjs-tech"
        }), c.player = a, u.yb(c, a.u());
        d = ["autoplay", "preload", "loop", "muted"];
        for (var e = d.length - 1; 0 <= e; e--) {
            var g = d[e];
            a.h[g] !== h && (c[g] = a.h[g])
        }
        return c
    };
    t.ad = function (a) {
        this.k(a);
        a.stopPropagation()
    };
    t.play = function () {
        this.a.play()
    };
    t.pause = function () {
        this.a.pause()
    };
    t.paused = function () {
        return this.a.paused
    };
    t.currentTime = function () {
        return this.a.currentTime
    };
    t.vd = function (a) {
        try {
            this.a.currentTime = a
        } catch (c) {
            u.log(c, "Video is not ready. (Video.js)")
        }
    };
    t.duration = function () {
        return this.a.duration || 0
    };
    t.buffered = function () {
        return this.a.buffered
    };
    t.volume = function () {
        return this.a.volume
    };
    t.Ad = function (a) {
        this.a.volume = a
    };
    t.muted = function () {
        return this.a.muted
    };
    t.yd = function (a) {
        this.a.muted = a
    };
    t.width = function () {
        return this.a.offsetWidth
    };
    t.height = function () {
        return this.a.offsetHeight
    };
    t.Wa = function () {
        return "function" == typeof this.a.webkitEnterFullScreen && (/Android/.test(u.J) || !/Chrome|Mac OS X 10.5/.test(u.J)) ? f : l
    };
    t.hc = function () {
        var a = this.a;
        a.paused && a.networkState <= a.Jd ? (this.a.play(), setTimeout(function () {
            a.pause();
            a.webkitEnterFullScreen()
        }, 0)) : a.webkitEnterFullScreen()
    };
    t.bd = function () {
        this.a.webkitExitFullScreen()
    };
    t.src = function (a) {
        this.a.src = a
    };
    t.load = function () {
        this.a.load()
    };
    t.currentSrc = function () {
        return this.a.currentSrc
    };
    t.poster = function () {
        return this.a.poster
    };
    t.Lb = function (a) {
        this.a.poster = a
    };
    t.Sa = function () {
        return this.a.Sa
    };
    t.zd = function (a) {
        this.a.Sa = a
    };
    t.autoplay = function () {
        return this.a.autoplay
    };
    t.ud = function (a) {
        this.a.autoplay = a
    };
    t.controls = function () {
        return this.a.controls
    };
    t.loop = function () {
        return this.a.loop
    };
    t.xd = function (a) {
        this.a.loop = a
    };
    t.error = function () {
        return this.a.error
    };
    t.seeking = function () {
        return this.a.seeking
    };
    t.ended = function () {
        return this.a.ended
    };
    u.g.isSupported = function () {
        try {
            u.F.volume = 0.5
        } catch (a) {
            return l
        }
        return !!u.F.canPlayType
    };
    u.g.nb = function (a) {
        try {
            return !!u.F.canPlayType(a.type)
        } catch (c) {
            return ""
        }
    };
    u.g.Tc = function () {
        var a = u.F.volume;
        u.F.volume = a / 2 + 0.1;
        return a !== u.F.volume
    };
    var R, fa = /^application\/(?:x-|vnd\.apple\.)mpegurl/i, ga = /^video\/mp4/i;
    u.g.rc = function () {
        4 <= u.Qb && (R || (R = u.F.constructor.prototype.canPlayType), u.F.constructor.prototype.canPlayType = function (a) {
            return a && fa.test(a) ? "maybe" : R.call(this, a)
        });
        u.Mc && (R || (R = u.F.constructor.prototype.canPlayType), u.F.constructor.prototype.canPlayType = function (a) {
            return a && ga.test(a) ? "maybe" : R.call(this, a)
        })
    };
    u.g.Fd = function () {
        var a = u.F.constructor.prototype.canPlayType;
        u.F.constructor.prototype.canPlayType = R;
        R = h;
        return a
    };
    u.g.rc();
    u.g.bb = "loadstart suspend abort error emptied stalled loadedmetadata loadeddata canplay canplaythrough playing waiting seeking seeked ended durationchange timeupdate progress play pause ratechange volumechange".split(" ");
    u.g.gc = function (a) {
        if (a) {
            a.player = h;
            for (a.parentNode && a.parentNode.removeChild(a); a.hasChildNodes();)a.removeChild(a.firstChild);
            a.removeAttribute("src");
            if ("function" === typeof a.load)try {
                a.load()
            } catch (c) {
            }
        }
    };
    u.f = u.r.extend({
        j: function (a, c, d) {
            u.r.call(this, a, c, d);
            var e = c.source;
            d = c.parentEl;
            var g = this.a = u.e("div", {id: a.id() + "_temp_flash"}), j = a.id() + "_flash_api";
            a = a.h;
            var k = u.l.B({
                readyFunction: "videojs.Flash.onReady",
                eventProxyFunction: "videojs.Flash.onEvent",
                errorEventProxyFunction: "videojs.Flash.onError",
                autoplay: a.autoplay,
                preload: a.Sa,
                loop: a.loop,
                muted: a.muted
            }, c.flashVars), r = u.l.B({wmode: "opaque", bgcolor: "#000000"}, c.params), n = u.l.B({
                id: j,
                name: j,
                "class": "vjs-tech"
            }, c.attributes), s;
            e && (e.type && u.f.jd(e.type) ?
                (a = u.f.Ac(e.src), k.rtmpConnection = encodeURIComponent(a.qb), k.rtmpStream = encodeURIComponent(a.Mb)) : k.src = encodeURIComponent(u.kc(e.src)));
            this.setCurrentTime = function (a) {
                s = a;
                this.a.vjs_setProperty("currentTime", a)
            };
            this.currentTime = function () {
                return this.seeking() ? s : this.a.vjs_getProperty("currentTime")
            };
            u.yb(g, d);
            c.startTime && this.I(function () {
                this.load();
                this.play();
                this.currentTime(c.startTime)
            });
            u.Ub && this.I(function () {
                u.d(this.u(), "mousemove", u.bind(this, function () {
                    this.C().k({
                        type: "mousemove",
                        bubbles: l
                    })
                }))
            });
            if (c.iFrameMode === f && !u.Ub) {
                var D = u.e("iframe", {
                    id: j + "_iframe",
                    name: j + "_iframe",
                    className: "vjs-tech",
                    scrolling: "no",
                    marginWidth: 0,
                    marginHeight: 0,
                    frameBorder: 0
                });
                k.readyFunction = "ready";
                k.eventProxyFunction = "events";
                k.errorEventProxyFunction = "errors";
                u.d(D, "load", u.bind(this, function () {
                    var a, d = D.contentWindow;
                    a = D.contentDocument ? D.contentDocument : D.contentWindow.document;
                    a.write(u.f.lc(c.swf, k, r, n));
                    d.player = this.c;
                    d.ready = u.bind(this.c, function (c) {
                        var d = this.i;
                        d.a = a.getElementById(c);
                        u.f.pb(d)
                    });
                    d.events = u.bind(this.c, function (a, c) {
                        this && "flash" === this.xa && this.k(c)
                    });
                    d.errors = u.bind(this.c, function (a, c) {
                        u.log("Flash Error", c)
                    })
                }));
                g.parentNode.replaceChild(D, g)
            } else u.f.$c(c.swf, g, k, r, n)
        }
    });
    t = u.f.prototype;
    t.dispose = function () {
        u.r.prototype.dispose.call(this)
    };
    t.play = function () {
        this.a.vjs_play()
    };
    t.pause = function () {
        this.a.vjs_pause()
    };
    t.src = function (a) {
        if (a === b)return this.currentSrc();
        u.f.hd(a) ? (a = u.f.Ac(a), this.Td(a.qb), this.Ud(a.Mb)) : (a = u.kc(a), this.a.vjs_src(a));
        if (this.c.autoplay()) {
            var c = this;
            setTimeout(function () {
                c.play()
            }, 0)
        }
    };
    t.currentSrc = function () {
        var a = this.a.vjs_getProperty("currentSrc");
        if (a == h) {
            var c = this.rtmpConnection(), d = this.rtmpStream();
            c && d && (a = u.f.Bd(c, d))
        }
        return a
    };
    t.load = function () {
        this.a.vjs_load()
    };
    t.poster = function () {
        this.a.vjs_getProperty("poster")
    };
    t.Lb = m();
    t.buffered = function () {
        return u.sb(0, this.a.vjs_getProperty("buffered"))
    };
    t.Wa = q(l);
    t.hc = q(l);
    var S = u.f.prototype, T = "rtmpConnection rtmpStream preload defaultPlaybackRate playbackRate autoplay loop mediaGroup controller controls volume muted defaultMuted".split(" "), U = "error networkState readyState seeking initialTime duration startOffsetTime paused played seekable ended videoTracks audioTracks videoWidth videoHeight textTracks".split(" ");

    function ha() {
        var a = T[V], c = a.charAt(0).toUpperCase() + a.slice(1);
        S["set" + c] = function (c) {
            return this.a.vjs_setProperty(a, c)
        }
    }

    function W(a) {
        S[a] = function () {
            return this.a.vjs_getProperty(a)
        }
    }

    var V;
    for (V = 0; V < T.length; V++)W(T[V]), ha();
    for (V = 0; V < U.length; V++)W(U[V]);
    u.f.isSupported = function () {
        return 10 <= u.f.version()[0]
    };
    u.f.nb = function (a) {
        if (!a.type)return "";
        a = a.type.replace(/;.*/, "").toLowerCase();
        if (a in u.f.dd || a in u.f.Bc)return "maybe"
    };
    u.f.dd = {"video/flv": "FLV", "video/x-flv": "FLV", "video/mp4": "MP4", "video/m4v": "MP4"};
    u.f.Bc = {"rtmp/mp4": "MP4", "rtmp/flv": "FLV"};
    u.f.onReady = function (a) {
        a = u.u(a);
        var c = a.player || a.parentNode.player, d = c.i;
        a.player = c;
        d.a = a;
        u.f.pb(d)
    };
    u.f.pb = function (a) {
        a.u().vjs_getProperty ? a.za() : setTimeout(function () {
            u.f.pb(a)
        }, 50)
    };
    u.f.onEvent = function (a, c) {
        u.u(a).player.k(c)
    };
    u.f.onError = function (a, c) {
        u.u(a).player.k("error");
        u.log("Flash Error", c, a)
    };
    u.f.version = function () {
        var a = "0,0,0";
        try {
            a = (new window.ActiveXObject("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version").replace(/\D+/g, ",").match(/^,?(.+),?$/)[1]
        } catch (c) {
            try {
                navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin && (a = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1])
            } catch (d) {
            }
        }
        return a.split(",")
    };
    u.f.$c = function (a, c, d, e, g) {
        a = u.f.lc(a, d, e, g);
        a = u.e("div", {innerHTML: a}).childNodes[0];
        d = c.parentNode;
        c.parentNode.replaceChild(a, c);
        var j = d.childNodes[0];
        setTimeout(function () {
            j.style.display = "block"
        }, 1E3)
    };
    u.f.lc = function (a, c, d, e) {
        var g = "", j = "", k = "";
        c && u.l.ra(c, function (a, c) {
            g += a + "=" + c + "&amp;"
        });
        d = u.l.B({movie: a, flashvars: g, allowScriptAccess: "always", allowNetworking: "all"}, d);
        u.l.ra(d, function (a, c) {
            j += '<param name="' + a + '" value="' + c + '" />'
        });
        e = u.l.B({data: a, width: "100%", height: "100%"}, e);
        u.l.ra(e, function (a, c) {
            k += a + '="' + c + '" '
        });
        return '<object type="application/x-shockwave-flash"' + k + ">" + j + "</object>"
    };
    u.f.Bd = function (a, c) {
        return a + "&" + c
    };
    u.f.Ac = function (a) {
        var c = {qb: "", Mb: ""};
        if (!a)return c;
        var d = a.indexOf("&"), e;
        -1 !== d ? e = d + 1 : (d = e = a.lastIndexOf("/") + 1, 0 === d && (d = e = a.length));
        c.qb = a.substring(0, d);
        c.Mb = a.substring(e, a.length);
        return c
    };
    u.f.jd = function (a) {
        return a in u.f.Bc
    };
    u.f.Oc = /^rtmp[set]?:\/\//i;
    u.f.hd = function (a) {
        return u.f.Oc.test(a)
    };
    u.Nc = u.b.extend({
        j: function (a, c, d) {
            u.b.call(this, a, c, d);
            if (!a.h.sources || 0 === a.h.sources.length) {
                c = 0;
                for (d = a.h.techOrder; c < d.length; c++) {
                    var e = u.Z(d[c]), g = window.videojs[e];
                    if (g && g.isSupported()) {
                        I(a, e);
                        break
                    }
                }
            } else a.src(a.h.sources)
        }
    });
    u.Player.prototype.textTracks = function () {
        return this.ya = this.ya || []
    };
    function X(a, c, d) {
        for (var e = a.ya, g = 0, j = e.length, k, r; g < j; g++)k = e[g], k.id() === c ? (k.show(), r = k) : d && (k.H() == d && 0 < k.mode()) && k.disable();
        (c = r ? r.H() : d ? d : l) && a.k(c + "trackchange")
    }

    u.w = u.b.extend({
        j: function (a, c) {
            u.b.call(this, a, c);
            this.R = c.id || "vjs_" + c.kind + "_" + c.language + "_" + u.s++;
            this.xc = c.src;
            this.Xc = c["default"] || c.dflt;
            this.Dd = c.title;
            this.Qd = c.srclang;
            this.kd = c.label;
            this.$ = [];
            this.kb = [];
            this.ga = this.ha = 0;
            this.c.d("fullscreenchange", u.bind(this, this.Qc))
        }
    });
    t = u.w.prototype;
    t.H = p("A");
    t.src = p("xc");
    t.tb = p("Xc");
    t.title = p("Dd");
    t.label = p("kd");
    t.Vc = p("$");
    t.Pc = p("kb");
    t.readyState = p("ha");
    t.mode = p("ga");
    t.Qc = function () {
        this.a.style.fontSize = this.c.isFullScreen() ? 140 * (screen.width / this.c.width()) + "%" : ""
    };
    t.e = function () {
        return u.b.prototype.e.call(this, "div", {className: "vjs-" + this.A + " vjs-text-track"})
    };
    t.show = function () {
        Y(this);
        this.ga = 2;
        u.b.prototype.show.call(this)
    };
    t.D = function () {
        Y(this);
        this.ga = 1;
        u.b.prototype.D.call(this)
    };
    t.disable = function () {
        2 == this.ga && this.D();
        this.c.o("timeupdate", u.bind(this, this.update, this.R));
        this.c.o("ended", u.bind(this, this.reset, this.R));
        this.reset();
        this.c.fa("textTrackDisplay").removeChild(this);
        this.ga = 0
    };
    function Y(a) {
        0 === a.ha && a.load();
        0 === a.ga && (a.c.d("timeupdate", u.bind(a, a.update, a.R)), a.c.d("ended", u.bind(a, a.reset, a.R)), ("captions" === a.A || "subtitles" === a.A) && a.c.fa("textTrackDisplay").Y(a))
    }

    t.load = function () {
        0 === this.ha && (this.ha = 1, u.get(this.xc, u.bind(this, this.rd), u.bind(this, this.Fb)))
    };
    t.Fb = function (a) {
        this.error = a;
        this.ha = 3;
        this.k("error")
    };
    t.rd = function (a) {
        var c, d;
        a = a.split("\n");
        for (var e = "", g = 1, j = a.length; g < j; g++)if (e = u.trim(a[g])) {
            -1 == e.indexOf("--\x3e") ? (c = e, e = u.trim(a[++g])) : c = this.$.length;
            c = {id: c, index: this.$.length};
            d = e.split(" --\x3e ");
            c.startTime = ia(d[0]);
            c.sa = ia(d[1]);
            for (d = []; a[++g] && (e = u.trim(a[g]));)d.push(e);
            c.text = d.join("<br/>");
            this.$.push(c)
        }
        this.ha = 2;
        this.k("loaded")
    };
    function ia(a) {
        var c = a.split(":");
        a = 0;
        var d, e, g;
        3 == c.length ? (d = c[0], e = c[1], c = c[2]) : (d = 0, e = c[0], c = c[1]);
        c = c.split(/\s+/);
        c = c.splice(0, 1)[0];
        c = c.split(/\.|,/);
        g = parseFloat(c[1]);
        c = c[0];
        a += 3600 * parseFloat(d);
        a += 60 * parseFloat(e);
        a += parseFloat(c);
        g && (a += g / 1E3);
        return a
    }

    t.update = function () {
        if (0 < this.$.length) {
            var a = this.c.currentTime();
            if (this.Kb === b || a < this.Kb || this.Oa <= a) {
                var c = this.$, d = this.c.duration(), e = 0, g = l, j = [], k, r, n, s;
                a >= this.Oa || this.Oa === b ? s = this.vb !== b ? this.vb : 0 : (g = f, s = this.Bb !== b ? this.Bb : c.length - 1);
                for (; ;) {
                    n = c[s];
                    if (n.sa <= a)e = Math.max(e, n.sa), n.Ia && (n.Ia = l); else if (a < n.startTime) {
                        if (d = Math.min(d, n.startTime), n.Ia && (n.Ia = l), !g)break
                    } else g ? (j.splice(0, 0, n), r === b && (r = s), k = s) : (j.push(n), k === b && (k = s), r = s), d = Math.min(d, n.sa), e = Math.max(e, n.startTime), n.Ia =
                        f;
                    if (g)if (0 === s)break; else s--; else if (s === c.length - 1)break; else s++
                }
                this.kb = j;
                this.Oa = d;
                this.Kb = e;
                this.vb = k;
                this.Bb = r;
                a = this.kb;
                c = "";
                d = 0;
                for (e = a.length; d < e; d++)c += '<span class="vjs-tt-cue">' + a[d].text + "</span>";
                this.a.innerHTML = c;
                this.k("cuechange")
            }
        }
    };
    t.reset = function () {
        this.Oa = 0;
        this.Kb = this.c.duration();
        this.Bb = this.vb = 0
    };
    u.Sb = u.w.extend();
    u.Sb.prototype.A = "captions";
    u.Zb = u.w.extend();
    u.Zb.prototype.A = "subtitles";
    u.Tb = u.w.extend();
    u.Tb.prototype.A = "chapters";
    u.ac = u.b.extend({
        j: function (a, c, d) {
            u.b.call(this, a, c, d);
            if (a.h.tracks && 0 < a.h.tracks.length) {
                c = this.c;
                a = a.h.tracks;
                var e;
                for (d = 0; d < a.length; d++) {
                    e = a[d];
                    var g = c, j = e.kind, k = e.label, r = e.language, n = e;
                    e = g.ya = g.ya || [];
                    n = n || {};
                    n.kind = j;
                    n.label = k;
                    n.language = r;
                    j = u.Z(j || "subtitles");
                    g = new window.videojs[j + "Track"](g, n);
                    e.push(g)
                }
            }
        }
    });
    u.ac.prototype.e = function () {
        return u.b.prototype.e.call(this, "div", {className: "vjs-text-track-display"})
    };
    u.X = u.N.extend({
        j: function (a, c) {
            var d = this.ca = c.track;
            c.label = d.label();
            c.selected = d.tb();
            u.N.call(this, a, c);
            this.c.d(d.H() + "trackchange", u.bind(this, this.update))
        }
    });
    u.X.prototype.p = function () {
        u.N.prototype.p.call(this);
        X(this.c, this.ca.R, this.ca.H())
    };
    u.X.prototype.update = function () {
        this.selected(2 == this.ca.mode())
    };
    u.eb = u.X.extend({
        j: function (a, c) {
            c.track = {
                H: function () {
                    return c.kind
                }, C: a, label: function () {
                    return c.kind + " off"
                }, tb: q(l), mode: q(l)
            };
            u.X.call(this, a, c);
            this.selected(f)
        }
    });
    u.eb.prototype.p = function () {
        u.X.prototype.p.call(this);
        X(this.c, this.ca.R, this.ca.H())
    };
    u.eb.prototype.update = function () {
        for (var a = this.c.textTracks(), c = 0, d = a.length, e, g = f; c < d; c++)e = a[c], e.H() == this.ca.H() && 2 == e.mode() && (g = l);
        this.selected(g)
    };
    u.T = u.S.extend({
        j: function (a, c) {
            u.S.call(this, a, c);
            1 >= this.L.length && this.D()
        }
    });
    u.T.prototype.qa = function () {
        var a = [], c;
        a.push(new u.eb(this.c, {kind: this.A}));
        for (var d = 0; d < this.c.textTracks().length; d++)c = this.c.textTracks()[d], c.H() === this.A && a.push(new u.X(this.c, {track: c}));
        return a
    };
    u.Ba = u.T.extend({
        j: function (a, c, d) {
            u.T.call(this, a, c, d);
            this.a.setAttribute("aria-label", "Captions Menu")
        }
    });
    u.Ba.prototype.A = "captions";
    u.Ba.prototype.oa = "Captions";
    u.Ba.prototype.className = "vjs-captions-button";
    u.Ha = u.T.extend({
        j: function (a, c, d) {
            u.T.call(this, a, c, d);
            this.a.setAttribute("aria-label", "Subtitles Menu")
        }
    });
    u.Ha.prototype.A = "subtitles";
    u.Ha.prototype.oa = "Subtitles";
    u.Ha.prototype.className = "vjs-subtitles-button";
    u.Ca = u.T.extend({
        j: function (a, c, d) {
            u.T.call(this, a, c, d);
            this.a.setAttribute("aria-label", "Chapters Menu")
        }
    });
    t = u.Ca.prototype;
    t.A = "chapters";
    t.oa = "Chapters";
    t.className = "vjs-chapters-button";
    t.qa = function () {
        for (var a = [], c, d = 0; d < this.c.textTracks().length; d++)c = this.c.textTracks()[d], c.H() === this.A && a.push(new u.X(this.c, {track: c}));
        return a
    };
    t.Ma = function () {
        for (var a = this.c.textTracks(), c = 0, d = a.length, e, g, j = this.L = []; c < d; c++)if (e = a[c], e.H() == this.A && e.tb()) {
            if (2 > e.readyState()) {
                this.Nd = e;
                e.d("loaded", u.bind(this, this.Ma));
                return
            }
            g = e;
            break
        }
        a = this.ua = new u.la(this.c);
        a.a.appendChild(u.e("li", {className: "vjs-menu-title", innerHTML: u.Z(this.A), Cd: -1}));
        if (g) {
            e = g.$;
            for (var k, c = 0, d = e.length; c < d; c++)k = e[c], k = new u.Za(this.c, {
                track: g,
                cue: k
            }), j.push(k), a.Y(k)
        }
        0 < this.L.length && this.show();
        return a
    };
    u.Za = u.N.extend({
        j: function (a, c) {
            var d = this.ca = c.track, e = this.cue = c.cue, g = a.currentTime();
            c.label = e.text;
            c.selected = e.startTime <= g && g < e.sa;
            u.N.call(this, a, c);
            d.d("cuechange", u.bind(this, this.update))
        }
    });
    u.Za.prototype.p = function () {
        u.N.prototype.p.call(this);
        this.c.currentTime(this.cue.startTime);
        this.update(this.cue.startTime)
    };
    u.Za.prototype.update = function () {
        var a = this.cue, c = this.c.currentTime();
        this.selected(a.startTime <= c && c < a.sa)
    };
    u.l.B(u.Da.prototype.h.children, {subtitlesButton: {}, captionsButton: {}, chaptersButton: {}});
    if ("undefined" !== typeof window.JSON && "function" === window.JSON.parse)u.JSON = window.JSON; else {
        u.JSON = {};
        var Z = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
        u.JSON.parse = function (a, c) {
            function d(a, e) {
                var k, r, n = a[e];
                if (n && "object" === typeof n)for (k in n)Object.prototype.hasOwnProperty.call(n, k) && (r = d(n, k), r !== b ? n[k] = r : delete n[k]);
                return c.call(a, e, n)
            }

            var e;
            a = String(a);
            Z.lastIndex = 0;
            Z.test(a) && (a = a.replace(Z, function (a) {
                return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)
            }));
            if (/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, "")))return e = eval("(" + a + ")"), "function" === typeof c ? d({"": e}, "") : e;
            throw new SyntaxError("JSON.parse(): invalid or malformed JSON data");
        }
    }
    u.dc = function () {
        var a, c, d = document.getElementsByTagName("video");
        if (d && 0 < d.length)for (var e = 0, g = d.length; e < g; e++)if ((c = d[e]) && c.getAttribute)c.player === b && (a = c.getAttribute("data-setup"), a !== h && (a = u.JSON.parse(a || "{}"), videojs(c, a))); else {
            u.lb();
            break
        } else u.Ec || u.lb()
    };
    u.lb = function () {
        setTimeout(u.dc, 1)
    };
    "complete" === document.readyState ? u.Ec = f : u.U(window, "load", function () {
        u.Ec = f
    });
    u.lb();
    u.sd = function (a, c) {
        u.Player.prototype[a] = c
    };
    var ja = this;
    ja.Id = f;
    function $(a, c) {
        var d = a.split("."), e = ja;
        !(d[0]in e) && e.execScript && e.execScript("var " + d[0]);
        for (var g; d.length && (g = d.shift());)!d.length && c !== b ? e[g] = c : e = e[g] ? e[g] : e[g] = {}
    };
    $("videojs", u);
    $("_V_", u);
    $("videojs.options", u.options);
    $("videojs.players", u.va);
    $("videojs.TOUCH_ENABLED", u.$b);
    $("videojs.cache", u.pa);
    $("videojs.Component", u.b);
    u.b.prototype.player = u.b.prototype.C;
    u.b.prototype.options = u.b.prototype.options;
    u.b.prototype.init = u.b.prototype.j;
    u.b.prototype.dispose = u.b.prototype.dispose;
    u.b.prototype.createEl = u.b.prototype.e;
    u.b.prototype.contentEl = u.b.prototype.La;
    u.b.prototype.el = u.b.prototype.u;
    u.b.prototype.addChild = u.b.prototype.Y;
    u.b.prototype.getChild = u.b.prototype.fa;
    u.b.prototype.getChildById = u.b.prototype.ed;
    u.b.prototype.children = u.b.prototype.children;
    u.b.prototype.initChildren = u.b.prototype.nc;
    u.b.prototype.removeChild = u.b.prototype.removeChild;
    u.b.prototype.on = u.b.prototype.d;
    u.b.prototype.off = u.b.prototype.o;
    u.b.prototype.one = u.b.prototype.U;
    u.b.prototype.trigger = u.b.prototype.k;
    u.b.prototype.triggerReady = u.b.prototype.za;
    u.b.prototype.show = u.b.prototype.show;
    u.b.prototype.hide = u.b.prototype.D;
    u.b.prototype.width = u.b.prototype.width;
    u.b.prototype.height = u.b.prototype.height;
    u.b.prototype.dimensions = u.b.prototype.Yc;
    u.b.prototype.ready = u.b.prototype.I;
    u.b.prototype.addClass = u.b.prototype.n;
    u.b.prototype.removeClass = u.b.prototype.t;
    u.b.prototype.buildCSSClass = u.b.prototype.Q;
    u.Player.prototype.ended = u.Player.prototype.ended;
    $("videojs.MediaLoader", u.Nc);
    $("videojs.TextTrackDisplay", u.ac);
    $("videojs.ControlBar", u.Da);
    $("videojs.Button", u.q);
    $("videojs.PlayToggle", u.Xb);
    $("videojs.FullscreenToggle", u.Ea);
    $("videojs.BigPlayButton", u.Ya);
    $("videojs.LoadingSpinner", u.Vb);
    $("videojs.CurrentTimeDisplay", u.$a);
    $("videojs.DurationDisplay", u.ab);
    $("videojs.TimeDivider", u.bc);
    $("videojs.RemainingTimeDisplay", u.gb);
    $("videojs.Slider", u.O);
    $("videojs.ProgressControl", u.fb);
    $("videojs.SeekBar", u.Yb);
    $("videojs.LoadProgressBar", u.cb);
    $("videojs.PlayProgressBar", u.Wb);
    $("videojs.SeekHandle", u.Ga);
    $("videojs.VolumeControl", u.ib);
    $("videojs.VolumeBar", u.hb);
    $("videojs.VolumeLevel", u.cc);
    $("videojs.VolumeMenuButton", u.ma);
    $("videojs.VolumeHandle", u.jb);
    $("videojs.MuteToggle", u.ea);
    $("videojs.PosterImage", u.Fa);
    $("videojs.Menu", u.la);
    $("videojs.MenuItem", u.N);
    $("videojs.MenuButton", u.S);
    u.S.prototype.createItems = u.S.prototype.qa;
    u.T.prototype.createItems = u.T.prototype.qa;
    u.Ca.prototype.createItems = u.Ca.prototype.qa;
    $("videojs.SubtitlesButton", u.Ha);
    $("videojs.CaptionsButton", u.Ba);
    $("videojs.ChaptersButton", u.Ca);
    $("videojs.MediaTechController", u.r);
    u.r.prototype.features = u.r.prototype.m;
    u.r.prototype.m.volumeControl = u.r.prototype.m.Dc;
    u.r.prototype.m.fullscreenResize = u.r.prototype.m.Od;
    u.r.prototype.m.progressEvents = u.r.prototype.m.Sd;
    u.r.prototype.m.timeupdateEvents = u.r.prototype.m.Vd;
    u.r.prototype.setPoster = u.r.prototype.Lb;
    $("videojs.Html5", u.g);
    u.g.Events = u.g.bb;
    u.g.isSupported = u.g.isSupported;
    u.g.canPlaySource = u.g.nb;
    u.g.patchCanPlayType = u.g.rc;
    u.g.unpatchCanPlayType = u.g.Fd;
    u.g.prototype.setCurrentTime = u.g.prototype.vd;
    u.g.prototype.setVolume = u.g.prototype.Ad;
    u.g.prototype.setMuted = u.g.prototype.yd;
    u.g.prototype.setPreload = u.g.prototype.zd;
    u.g.prototype.setAutoplay = u.g.prototype.ud;
    u.g.prototype.setLoop = u.g.prototype.xd;
    u.g.prototype.enterFullScreen = u.g.prototype.hc;
    u.g.prototype.exitFullScreen = u.g.prototype.bd;
    $("videojs.Flash", u.f);
    u.f.isSupported = u.f.isSupported;
    u.f.canPlaySource = u.f.nb;
    u.f.onReady = u.f.onReady;
    $("videojs.TextTrack", u.w);
    u.w.prototype.label = u.w.prototype.label;
    u.w.prototype.kind = u.w.prototype.H;
    u.w.prototype.mode = u.w.prototype.mode;
    u.w.prototype.cues = u.w.prototype.Vc;
    u.w.prototype.activeCues = u.w.prototype.Pc;
    $("videojs.CaptionsTrack", u.Sb);
    $("videojs.SubtitlesTrack", u.Zb);
    $("videojs.ChaptersTrack", u.Tb);
    $("videojs.autoSetup", u.dc);
    $("videojs.plugin", u.sd);
    $("videojs.createTimeRange", u.sb);
    $("videojs.util", u.ja);
    u.ja.mergeOptions = u.ja.Eb;
})();
